Purpose:
This project is a component of my PhD (LSU 2026) dissertation on post-tonal music theory pedagogy and how visualization other than the score might increase understanding.
My primary motivation for this project is to provide learners and experienced analysts access to a more intuition forward way of approaching post-tonal music theory. Since my musical insterests often lie outside of the twelve-tone chromatic universe, all of these calculators except for the Neo-Riemannian one (for now!) permit larger and smaller universes. This is to encourage G-SPACE analysis, beat-class, and microtonal exploration using the tools and terminology from pitch-class set theory and mathematical music theories. (But with a more pedagogical spin).
The aim of this program is to encourage an intuition forward approach to learning about pitch/rhythmic structures that are perhaps not as easily understood by looking at the score itself.
This program is fully web based implementation is entirely JS, CSS, and HTML. I have included the Bravura.woff2 files to render certain music glyphs. The only library dependency is SVG.js, used to build some of the visualizations. To minimize any potential compatiblity issues, my repository hosts a stable copy of SVG.js3.2.5.
Calculator Descriptions:
Current Features:
- PC/BC Calculator:
- Support for two sets, superset and a contained subset. Includes Tn,TnI, and Mn transformations that are included within parent superset.
- Complement of superset or subset.
- Note Names (Stein-Zimmerman Accidentals) for {12, 24, 31}-EDO temperaments.
- Results for:
- Normal Form
- Prime Form (Straus-Rahn Algorithm)
- Interval Class Vector (Invariant Tones under Tn)
- Index Vector (Invariant Tones under TnI)
- Maximal Evenness (Superset into Chromatic Universe and Subset into parent superset)
- Lines of Symmetry for superset and/or subset.
- Cents Equal Temperament (cET) between selected elements of superset and/or subset.
- Serialism Calculator:
- Supports any n x n matrix.
- Literal and Abstract adjacency search.
- Combinatoriality illustration.
- Results for:
- Derivation
- n-Chordal Combinatoriality (All divisors of universe)
- All Interval Status
- Glossary:
- Various music-theoretical terminology ranging from:
- Pitch Class and Beat Class Set Theory
- Transformational Music Theories
- Tuning Theory
- Scale Theory
- Links to external sources.
- Rotational Arrays:
- Partition a Tonerow into 2 distinct 1/2k rotational arrays.
- Supports α/β (literal rotation) and γ/δ (transposed rotation).
- Search rotations and verticals for adjacent elements.
- Flip-Flop Circles:
- Calculate Flip-Flop circles, Neo-Riemannian cycles using standard NRT transformations or UTTs.
- Isomorphic Keyboard/Generalized Tonnetz:
- Visualizes a variety of Tonnetze layouts for 12- and 31-EDO including:
- Triadic/Harmonic Table
- Jankó
- Wicki-Hayden
- B- and C-System Accordion Layouts
- Bosanquet-Wilson
- 12-EDO and 31-EDO Triadic Tonnetze UTT or NRT chain support.
Future Plans:
Here are a few ideas I hope to implement in the future:
- PC/BC Calculator:
- Note Names for more tuning systems including 13-EDT, 72-EDO, etc.
- Helmholtz-Ellis Accidentals.
- Audio playback using Tone.js.
- SVG image download.
- Glossary:
- More definitions and links.
- Flip-Flop Circles:
- Support for non-tertian structures.
- Generalized Tonnetz:
- Additional Tuning Systems.
- Audio playback using Tone.js.
- Multi-Color Schemes.
- Chain Capabilities for layouts other than the Triadic/Harmonic Table.
Last Thoughts:
To you who have much more programming experience, you will notice minimal UX design. But I am constantly learning and revising them to increase functionality and improve design features.
If you find these tools useful, please share them with others!